在利用 Claude Code 輔助開發這套圖書管理系統的過程中,最常發生的情境就是:我下了一句簡單 prompt,AI 就生成了幾百行的程式碼。
但當我把 code 貼進專案時,心中常浮現一個大問號:「這段語法到底是什麼意思?萬一出 Bug 我改得動嗎?」
特別是在寫到 PDO 資料庫連線、prepared statement 防禦 SQL 注入,或是交易控制的 FOR UPDATE 鎖定機制時,AI 給出的寫法超出了我當時的語法儲備。今天想分享,當遇到「看不懂 AI 寫的 code」時,我的學習流程。
直接複製貼上雖然能讓功能在一秒內跑起來,但這會帶來兩個問題:
因此,看不懂的 code,不要直接寫進專案。
當 Claude Code 產出一段看不懂的語法時,會透過以下步驟來理解它:
這段語法我不太理解,請幫我在每一行程式碼加上詳細的中文註解,並用白話文解釋它的核心邏輯。
這能快速建立初步的概念。
FETCH_ASSOC 或 beginTransaction()),不要只問「這行是什麼」,改問:
PDO::FETCH_ASSOC?如果不加會怎樣?」try...catch 捕捉例外,會有什麼資安或系統風險?」透過比較「寫與不寫」的差異,能更快理解這個語法背後的設計目的。
test.php),透過 var_dump() 或 echo 印出中間結果。// 建立小測試檔,親自印出來看結構
$stmt = $pdo->prepare("SELECT * FROM books WHERE id = :id");
$stmt->execute(['id' => 1]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
// 親眼看看 print_r 出來的陣列長怎樣
print_r($result);
親眼看到資料變化的過程,比看很多遍檔案有效。
在這次開發圖書管理系統的過程中,把「看不懂」視為一個學習的訊號,主動去拆解它、質問 AI、動手實驗,才能在擁有 AI 高效開發能力的同時,依然維持自己對系統架構的掌控力。
今天分享了在 AI 協助開發過程中,面對看不懂程式碼的心態調適與流程:從要求 AI 逐行註解、探討語法設計目的、建立最小化測試檔手驗,到最後嘗試自己重寫。掌控 AI 工具的關鍵,不在於它產出程式碼的速度有多快,而是在於自己能吸收並理解多少。